import axios from "axios";
import Nprogress from "nprogress";
import "nprogress/nprogress.css";
//创建一个新的实例axios去封装
const servise = axios.create({
  baseURL: "/api",//基础路径（公共路径）前面的路径已经给代理服务器了
  timeout: 20000,
  // headers: {'X-Custom-Header': 'foobar'}
});
//使用请求拦截器在请求发出之前拦截
servise.interceptors.request.use(
  function(config) {
    //config本质是请求报文
    Nprogress.start(); //开启进度条
    // Do something before request is sent
    return config;
  },
  //响应拦截器
  servise.interceptors.response.use(
    function(response) {
      Nprogress.done(); //结束进度条
      return response.data;
    },
    function(error) {
      Nprogress.done(); //结束进度条
      alert("axios请求失败" + error.message);
      //如果后面还想处理，需要把这个结果往后传递
      // return Promise.reject(error);
      //如果不想处理了，那就需要中断promise链，（pending）
      return new Promise(() => {});
    }
  )
);
export default servise;
